// 导入Vue Router的创建函数
import {createRouter, createWebHistory} from 'vue-router'


// 创建并导出路由实例
// 该文件定义了应用的所有路由配置，采用模块化结构组织不同功能模块的路由
export const router = createRouter({
    // 使用HTML5 history模式，去掉URL中的#
    // 注意：生产环境部署时需要后端配置支持history模式
    history: createWebHistory(),
    // 路由配置数组，按功能模块组织
    routes: [
        // 登录页面路由 - 应用入口
        {
            path: '/', // 根路径，未登录用户默认访问
            // 懒加载登录组件，优化初始加载速度
            component: () => import('../views/LoginView.vue')
        },
        // 仪表盘页面路由（包含子路由）
        // 所有需要登录后访问的功能模块都组织在此路由下
        {
            path: '/dashboard', // 仪表盘根路径
            component: () => import('../views/DashboardView.vue'), // 懒加载仪表盘组件
            // 子路由配置 - 采用嵌套路由结构
            children: [
                // 用户管理模块路由组
                {
                    path: 'user', // 相对路径，完整路径为/dashboard/user
                    component: () => import('../views/UserView.vue') // 懒加载用户列表组件
                },
                {
                    path: 'user/:userId', // 带userId参数的路径，用于访问特定用户详情
                    component: () => import('../views/UserDetailView.vue') // 懒加载用户详情组件
                },
                {
                    path: 'user/add', // 用户新增路径
                    component: () => import('../views/UserAddView.vue') // 懒加载用户新增组件
                },
                {
                    path: 'user/edit/:userId', // 带userId参数的编辑路径
                    component: () => import('../views/UserAddView.vue') // 复用新增组件进行编辑操作
                },

                // 活动管理模块路由组
                {
                    path: 'activity', // 活动列表路径
                    component: () => import('../views/ActivityView.vue') // 懒加载市场活动组件
                },
                {
                    path: 'activity/:activityId', // 带activityId参数的路径
                    component: () => import('../views/ActivityDetailView.vue') // 懒加载市场活动详情组件
                },
                {
                    path: 'activity/add', // 新增活动路径
                    component: () => import('../views/ActivityAddView.vue') // 懒加载新增活动组件
                },
                {
                    path: 'activity/edit/:activityId', // 编辑活动路径
                    component: () => import('../views/ActivityAddView.vue') // 复用新增组件进行编辑操作
                },
                {
                    path: 'activity/remark/edit/:activityRemarkId', // 编辑活动备注路径
                    component: () => import('../views/ActivityDetailEditView.vue') // 懒加载编辑活动备注组件
                },
                // 线索管理模块路由组
                {
                    path: 'clue',
                    component: () => import('../views/ClueView.vue') // 线索列表组件
                },
                {
                    path: 'clue/:clueId',
                    component: () => import('../views/ClueDetailView.vue') // 线索详情组件
                },
                {
                    path: 'clue/add',
                    component: () => import('../views/ClueAddView.vue') // 线索新增组件
                },
                {
                    path: 'clue/edit/:clueId',
                    component: () => import('../views/ClueAddView.vue') // 复用新增组件进行线索编辑
                },
                {
                    path: 'clue/remark/edit/:clueRemarkId',
                    component: () => import('../views/ClueDetailEditView.vue') // 线索备注编辑组件
                },
                // 客户管理模块路由组
                {
                    path: 'customer',
                    component: () => import('../views/CustomerView.vue') // 客户列表组件
                },
                {
                    path: 'customer/:customerId',
                    component: () => import('../views/CustomerDetailView.vue'),
                },
                {
                    path: 'customer/remark/edit/:customerRemarkId',
                    component: () => import('../views/CustomerDetailEditView.vue'),
                },
                // 交易管理模块路由组
                {
                    path: 'tran',
                    component: () => import('../views/TranView.vue'),
                },
                {
                    path: 'tran/:tranId',
                    component: () => import('../views/TranDetailView.vue'),
                },
                {
                    path: 'tran/remark/edit/:tranRemarkId',
                    component: () => import('../views/TranDetailEditView.vue'),
                },
                // 统计分析模块路由组
                {
                    path: '',
                    component: () => import('../views/StatisticsView.vue'),
                },
                // 产品管理模块路由组
                {
                    path: 'product',
                    component: () => import('../views/404NotFound.vue'),
                },
                // 字典管理模块路由组
                {
                    path: 'dictype',
                    component: () => import('../views/404NotFound.vue'),
                },
                {
                    path: 'dicvalue',
                    component: () => import('../views/404NotFound.vue'),
                },
                // 系统管理模块路由组
                {
                    path: 'system',
                    component: () => import('../views/404NotFound.vue'),
                },
                {
                    path: 'role',
                    component: () => import('../views/404NotFound.vue'),
                },
                {
                    path: 'chat',
                    component: () => import('../views/ChatView.vue'),
                },
            ]
        }
    ]
})